[INFO] cloning repository https://github.com/tylerhawkes/adventofcode2019
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tylerhawkes/adventofcode2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftylerhawkes%2Fadventofcode2019", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftylerhawkes%2Fadventofcode2019'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9c17ae77eb1b4b472b1cb8253fce7677f18cb890
[INFO] building tylerhawkes/adventofcode2019 against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftylerhawkes%2Fadventofcode2019" "/workspace/builds/worker-12/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tylerhawkes/adventofcode2019 on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/tylerhawkes/adventofcode2019
[INFO] finished tweaking git repo https://github.com/tylerhawkes/adventofcode2019
[INFO] tweaked toml for git repo https://github.com/tylerhawkes/adventofcode2019 written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate git repo https://github.com/tylerhawkes/adventofcode2019 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-traits v0.2.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 436b91efba675d0d8e0a43cbd1453736787caf80bde40f122789dada877856b1
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "436b91efba675d0d8e0a43cbd1453736787caf80bde40f122789dada877856b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "436b91efba675d0d8e0a43cbd1453736787caf80bde40f122789dada877856b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "436b91efba675d0d8e0a43cbd1453736787caf80bde40f122789dada877856b1", kill_on_drop: false }`
[INFO] [stdout] 436b91efba675d0d8e0a43cbd1453736787caf80bde40f122789dada877856b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5e8333e80520e8f8341517c38eaf2c29e5ac38c8d74b77f14a172d82b60768fe
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5e8333e80520e8f8341517c38eaf2c29e5ac38c8d74b77f14a172d82b60768fe", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling adventofcode2019 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Display`, `Error`, `Formatter`
[INFO] [stdout]  --> src/bin/day15.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Display, Error, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/bin/day23.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     'outer: loop {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`
[INFO] [stdout]  --> src/bin/day19.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/bin/day19.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/bin/day13.rs:162:11
[INFO] [stdout]     |
[INFO] [stdout] 162 |       let output = self.apply(opcode);
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: Choose feature part-one or part-two
[INFO] [stdout]  --> src/bin/day04.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | compile_error!("Choose feature part-one or part-two");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/bin/day16.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `count_tiles`
[INFO] [stdout]   --> src/bin/day13.rs:55:6
[INFO] [stdout]    |
[INFO] [stdout] 55 |   fn count_tiles(&self, tile: Tile) -> usize {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/bin/day18.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{BinaryHeap, HashMap, HashSet};
[INFO] [stdout]   |                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print`
[INFO] [stdout]   --> src/bin/day13.rs:58:6
[INFO] [stdout]    |
[INFO] [stdout] 58 |   fn print(&self) {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `name`
[INFO] [stdout]    --> src/bin/day13.rs:152:6
[INFO] [stdout]     |
[INFO] [stdout] 152 |   fn name(mut self, s: impl Into<String>) -> Self {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run`
[INFO] [stdout]    --> src/bin/day13.rs:156:6
[INFO] [stdout]     |
[INFO] [stdout] 156 |   fn run(&mut self) -> Option<I> {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `move_position`
[INFO] [stdout]    --> src/bin/day13.rs:169:6
[INFO] [stdout]     |
[INFO] [stdout] 169 |   fn move_position(&mut self, opcode: OpCode) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `apply`
[INFO] [stdout]    --> src/bin/day13.rs:193:6
[INFO] [stdout]     |
[INFO] [stdout] 193 |   fn apply(&mut self, opcode: OpCode) -> Option<I> {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `value`
[INFO] [stdout]    --> src/bin/day13.rs:293:6
[INFO] [stdout]     |
[INFO] [stdout] 293 |   fn value(self, codes: &[I], relative_position: I) -> I {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `position`
[INFO] [stdout]    --> src/bin/day13.rs:302:6
[INFO] [stdout]     |
[INFO] [stdout] 302 |   fn position(self, relative_position: I) -> usize {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `double` in this scope
[INFO] [stdout]   --> src/bin/day04.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |       increasing && double
[INFO] [stdout]    |                     ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `optimize_thrust` in this scope
[INFO] [stdout]  --> src/bin/day07.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |   let max_thrust = optimize_thrust(&base_program);
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]    --> src/bin/day17.rs:229:37
[INFO] [stdout]     |
[INFO] [stdout] 229 |   fn break_down_commands(&mut self, commands: Vec<String>) {}
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `name`
[INFO] [stdout]    --> src/bin/day17.rs:314:6
[INFO] [stdout]     |
[INFO] [stdout] 314 |   fn name(mut self, s: impl Into<String>) -> Self {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `adventofcode2019`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: associated function is never used: `print`
[INFO] [stdout]    --> src/bin/day15.rs:187:6
[INFO] [stdout]     |
[INFO] [stdout] 187 |   fn print(&self) {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `name`
[INFO] [stdout]    --> src/bin/day15.rs:317:6
[INFO] [stdout]     |
[INFO] [stdout] 317 |   fn name(mut self, s: impl Into<String>) -> Self {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `name`
[INFO] [stdout]    --> src/bin/day19.rs:128:6
[INFO] [stdout]     |
[INFO] [stdout] 128 |   fn name(mut self, s: impl Into<String>) -> Self {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day16.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut new_elements = self
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `Input(_)` not covered
[INFO] [stdout]    --> src/bin/day05.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 61  | / enum OpCode {
[INFO] [stdout] 62  | |   Add(ParameterMode, ParameterMode, ParameterMode),
[INFO] [stdout] 63  | |   Multiply(ParameterMode, ParameterMode, ParameterMode),
[INFO] [stdout] 64  | |   Input(ParameterMode),
[INFO] [stdout]     | |   ----- not covered
[INFO] [stdout] ...   |
[INFO] [stdout] 74  | |   Equals(ParameterMode, ParameterMode, ParameterMode),
[INFO] [stdout] 75  | | }
[INFO] [stdout]     | |_- `OpCode` defined here
[INFO] [stdout] ...
[INFO] [stdout] 104 |       match self {
[INFO] [stdout]     |             ^^^^ pattern `Input(_)` not covered
[INFO] [stdout]     |
[INFO] [stdout]     = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
[INFO] [stdout]     = note: the matched value is of type `OpCode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]   --> src/bin/day05.rs:78:42
[INFO] [stdout]    |
[INFO] [stdout] 78 |   fn move_position(self, current: usize, codes: &[i32]) -> usize {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tunnels`
[INFO] [stdout]  --> src/bin/day18.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 |   let tunnels = input.parse::<Tunnels>().unwrap();
[INFO] [stdout]   |       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tunnels`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `doors`
[INFO] [stdout]    --> src/bin/day18.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let doors = self.doors();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_doors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dist`
[INFO] [stdout]    --> src/bin/day18.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let dist = while !searcher.is_empty() {
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `name`
[INFO] [stdout]    --> src/bin/day11.rs:155:6
[INFO] [stdout]     |
[INFO] [stdout] 155 |   fn name(mut self, s: impl Into<String>) -> Self {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `i`
[INFO] [stdout]    --> src/bin/day11.rs:263:6
[INFO] [stdout]     |
[INFO] [stdout] 263 |   fn i(mut self, i: I) -> Self {
[INFO] [stdout]     |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `possible_moves`
[INFO] [stdout]   --> src/bin/day18.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 |   fn possible_moves(self) -> [Self; 4] {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `possible_moves`
[INFO] [stdout]   --> src/bin/day18.rs:59:6
[INFO] [stdout]    |
[INFO] [stdout] 59 |   fn possible_moves(&self) -> [Self; 4] {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `with_door`
[INFO] [stdout]   --> src/bin/day18.rs:82:6
[INFO] [stdout]    |
[INFO] [stdout] 82 |   fn with_door(mut self, d: char) -> Self {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `with_key`
[INFO] [stdout]   --> src/bin/day18.rs:86:6
[INFO] [stdout]    |
[INFO] [stdout] 86 |   fn with_key(mut self, k: char) -> Self {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `find_shortest_distance`
[INFO] [stdout]    --> src/bin/day18.rs:124:6
[INFO] [stdout]     |
[INFO] [stdout] 124 |   fn find_shortest_distance(&self) -> usize {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `find_distances_to_all_keys_from_coord`
[INFO] [stdout]    --> src/bin/day18.rs:259:6
[INFO] [stdout]     |
[INFO] [stdout] 259 |   fn find_distances_to_all_keys_from_coord(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `entrance`
[INFO] [stdout]    --> src/bin/day18.rs:300:6
[INFO] [stdout]     |
[INFO] [stdout] 300 |   fn entrance(&self) -> Coord {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `doors`
[INFO] [stdout]    --> src/bin/day18.rs:310:6
[INFO] [stdout]     |
[INFO] [stdout] 310 |   fn doors(&self) -> usize {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `keys`
[INFO] [stdout]    --> src/bin/day18.rs:317:6
[INFO] [stdout]     |
[INFO] [stdout] 317 |   fn keys(&self) -> usize {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_passable`
[INFO] [stdout]    --> src/bin/day18.rs:336:6
[INFO] [stdout]     |
[INFO] [stdout] 336 |   fn is_passable(self, collected_keys: &HashSet<char>) -> Result<Option<char>, ()> {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_door`
[INFO] [stdout]    --> src/bin/day18.rs:349:6
[INFO] [stdout]     |
[INFO] [stdout] 349 |   fn is_door(self) -> Option<char> {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_key`
[INFO] [stdout]    --> src/bin/day18.rs:356:6
[INFO] [stdout]     |
[INFO] [stdout] 356 |   fn is_key(self) -> Option<char> {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/bin/day18.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |       panic!(format!("trying to evaluate moves at {}, {}", x, y));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 27 |       panic!("trying to evaluate moves at {}, {}", x, y);
[INFO] [stdout]    |             --                                        --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "5e8333e80520e8f8341517c38eaf2c29e5ac38c8d74b77f14a172d82b60768fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e8333e80520e8f8341517c38eaf2c29e5ac38c8d74b77f14a172d82b60768fe", kill_on_drop: false }`
[INFO] [stdout] 5e8333e80520e8f8341517c38eaf2c29e5ac38c8d74b77f14a172d82b60768fe
